Flash memory is used in a wide variety of products including many types of computing, communication, and consumer electronic devices. Flash memory is a type of nonvolatile memory. Flash memory typically includes one or more memory arrays. Each memory array is comprised of multiple planes of fixed storage capacity. For example, a 16 Mb memory array may be made up of four 4 Mb planes. Operations such as programming, erasing, and reading may be performed on the memory cells within the memory array. Moreover, in a read-while-write architecture, it is possible for a given memory cell within a single array to be read while another is written to simultaneously.
In one past approach, each memory array is divided into at least two partitions of fixed size. Each partition of the memory array has a designated status register, which reports status information to the user. Thus, during a write operation, that partition's status information is output to its designated status register until another command is issued. A user may read any one of the given status registers to determine what valid operations can be performed on that particular partition. The only way to know which operations may be performed on the memory array is to track each status register. As an example, for a 16 Mb device having four 4 Mb planes in a read-while-write approach, the user would have to read 4 status registers to know which operations may be performed on each partition after the current operation is completed.
Other implementations require more than two memory partitions. For example, a read-while-write-while-write functionality would require three partitions. This enables a read operation to occur, while two write operations are occurring simultaneously to the same memory array. Also, to enlarge a memory array that includes fixed sized planes, more status registers would typically need to be added to accommodate the new memory planes. As the number of planes increases, the number of status registers to be maintained increases since each plane typically requires its own status register. Increasing the number of status registers that are formed on a chip typically requires using additional die area.